import Vue from 'vue'
import App from './App.vue'
//引入路由
import router from '@/router';
//引入仓库
//第五步
import store from '@/store';
//配置全局组件
import Header from '@/components/Header';
import Footer from '@/components/Footer'
import TypeNav from '@/components/TypeNav'
import Pagination from '@/components/Pagination';
//第一个参数:全局组件的名字 第二个参数:那个组件
//全局组件：只需要在入口文件注册一次，可以在任意组件内直接使用。
Vue.component(Header.name,Header);
Vue.component(Footer.name,Footer);
Vue.component(TypeNav.name,TypeNav);
Vue.component(Pagination.name,Pagination);

//引入mock文件
import "@/mock/mockServer";

//引入swiper样式，因为程序很多组件都需要用到这个样式，咱们只是引入一次即可！！！
import "swiper/css/swiper.min.css"

// api里面请求都是分别暴露
import * as API from '@/api'

// element-ui 按需引入组件
import {MessageBox,Message} from 'element-ui';
// 第一种写法
// Vue.component(Button.name,Button);
// 第二种写法
// Vue.use(Button)
// 第三种写法
Vue.prototype.$msgbox = MessageBox;
Vue.prototype.$alert=MessageBox.alert;
Vue.prototype.$message = Message
new Vue({
  render: h => h(App),
  //注册路由:项目当中只要是VC,都有$route与$router属性
  router,
  //第六步
  //注册仓库：项目当中只要是VC,都拥有$store属性
  store,
  //全局事件总线
  beforeCreate(){
    //给全部VC添加上$bus属性
    Vue.prototype.$bus = this;
    Vue.prototype.$ajax=API;
  }
}).$mount('#app')
